﻿using System.Collections.Generic;
using Ymatou.User.Dto.Auth;
using YmtAuth.Dto;

namespace YmtAuth.AppService
{
    public interface ISecurityQuestionAppService
    {
        /// <summary>
        /// 获取安全问题列表
        /// </summary>
        /// <returns></returns>
        ResponseData<List<SecurityQuestion>> GetSecurityQuestionList();

        /// <summary>
        /// 设置安全问题
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ResponseData<bool> SetSecurityQuestion(SetSecurityQuestionRequestDto dto);


        /// <summary>
        /// 获取已设置的安全问题（单个，验证）
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ResponseData<GetSecurityQuestionResponseDto> GetSecurityQuestion(GetSecurityQuestionRequestDto dto);

        /// <summary>
        /// 验证安全问题
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ResponseData<VerifySecurityQuestionResponseDto> VerifySecurityQuestion(VerifySecurityQuestionRequestDto dto);

        /// <summary>
        /// 安全问题校验的尝试次数清零
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        ResponseData<bool> ResetUserSecurityQuestionVerifyCount(int userId);
    }
}
